<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 定义Test类，在构造方法中接收一个数组（一维数组）参数，
        // 内部定义两个方法：sum()累加 和 avg()平均
        // 测试效果如下：
            // const arr = [10,20,30,40];
            // const test = new Test(arr);
            // console.log(test.sum()); // 100
            // console.log(test.avg()); // 25

        //定义Test类
        class Test{
            // 构造方法，初始化对象，实现参数数组的赋值
            constructor(data){
                this.data = data;
            }

            // 求和方法
            sum(){
                let total = 0;
                for(let v of this.data){
                    total += v;
                }
                return total;
            }
            // 计算平均方法
            avg(){
                // 通过调用上面的求和方法，再除以data属性的长度，即得出结果（平均值） 
                return this.sum()/this.data.length;
            }
        }

        //注意：在对象的方法中，调用本对象的属性和方法，前面都要加this


        // 测试
        const arr = [10,20,30,40];
        const test2 = new Test(arr);
        console.log(test2.sum()); // 100
        console.log(test2.avg()); // 25
    </script>
</body>
</html>